Conditional Random Field layer (tf.keras) CRF can be used as the last layer in a network (as a classifier). Input shape (features) must be equal to the number of classes the CRF can predict (a linear layer is recommended).
Note: the loss and accuracy functions of networks using CRF must use the provided loss and accuracy functions (denoted as loss and viterbi_accuracy) as the classification of sequences are used with the layers internal weights.
Parameters: num_labels (int) – the number of labels to tag each temporal input.
- Input shape:
- nD tensor with shape (batch_size, sentence length, num_classes).
- Output shape:
- nD tensor with shape: (batch_size, sentence length, num_classes).
Creates the variables of the layer (optional, for subclass implementers).
This is a method that implementers of subclasses of Layer or Model can override if they need a state-creation step in-between layer instantiation and layer call.
This is typically used to create the weights of Layer subclasses.
Parameters: input_shape – Instance of TensorShape, or list of instances of TensorShape if the layer expects a list of inputs (one instance per input).
call(inputs, sequence_lengths=None, **kwargs)¶
This is where the layer’s logic lives.
- inputs – Input tensor, or list/tuple of input tensors.
- **kwargs – Additional keyword arguments.
A tensor or list/tuple of tensors.
Computes the output shape of the layer.
Assumes that the layer will be built to match that input shape provided.
Parameters: input_shape – Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the layer). Shape tuples can include None for free dimensions, instead of an integer. Returns: An input shape tuple.
Returns the config of the layer.
A layer config is a Python dictionary (serializable) containing the configuration of a layer. The same layer can be reinstantiated later (without its trained weights) from this configuration.
The config of a layer does not include connectivity information, nor the layer class name. These are handled by Network (one layer of abstraction above).
Returns: Python dictionary.